#define _CRT_SECURE_NO_WARNINGS 1
#pragma once
#include<iostream>
#include<list>
using namespace std;


#define PRINT(L) do{ \
	for(auto& x:L)  cout << x <<" "; \
	cout << endl; \
	}while(0);
int main()
{
	list<int> l1{ 1,2,3,4,5 };
	list<int> l2{ 6,7,8,9,10 };

	PRINT(l1);
	//l1.splice(l1.end(), l2);//将l2的所有内容转移到l1的末尾,转移后l2变为空
	//PRINT(l1); //1~10
	//PRINT(l2);//空

	//l1.splice(l1.begin(), l2,l2.begin() );//将l2的第一个元素转移到l1的末尾
	//PRINT(l1); //6 1 2 3 4 5
	//PRINT(l2);// 7 8 9 10

	l1.splice(l1.begin(), l2, l2.begin(),l2.end());//将l2的所有内容转移到l1的头,转移后l2变为空
	PRINT(l1); //6~10 1~5
	PRINT(l2);//空
	return 0;
}
